package com.activenetwork.smlite.page.event.EventDetailView;

import com.activenetwork.custom.other.XCheckbox;
import com.activenetwork.custom.uielement.UIElement;
import com.activenetwork.custom.uielement.decorate.InJson;
import com.activenetwork.schema.model.event.EventBasicType;
import com.activenetwork.smlite.page.generic.PageObject;
import com.activenetwork.util.PageLoader;

public class EventComponents implements PageObject {
	
	@InJson
	private UIElement componentAttendeeDirectories;
	@InJson
	private UIElement componentBadageLabel;
	@InJson
	private UIElement componentCustomReport;
	@InJson
	private UIElement componentEmail;
	@InJson
	private UIElement componentKiosk;
	@InJson
	private UIElement componentMobile;
	@InJson
	private UIElement componentRegistrationForm;
	@InJson
	private UIElement componentReports;
	@InJson
	private UIElement componentSocialMedia;
	@InJson
	private UIElement componentSourcing;
	@InJson
	private UIElement componentSurveys;
	@InJson
	private UIElement componentThemeDesigner;
	@InJson
	private UIElement componentWebsite;
	
	public EventComponents attendeeDirectories(EventBasicType.Components components){
		if(components.getAttendeeDirectories() != null){
			new XCheckbox(componentAttendeeDirectories).checkON();
		}
		return PageLoader.load(this);
	}
	
	public EventComponents badgeLabel(EventBasicType.Components components){
		if(components.getBadgesLabels() != null){
			new XCheckbox(componentBadageLabel).checkON();
		}
		return PageLoader.load(this);
	}
	
	public EventComponents customReport(EventBasicType.Components components){
		if(components.getCustomReports() != null){
			new XCheckbox(componentCustomReport).checkON();
		}
		return PageLoader.load(this);
	}
	
	public EventComponents email(EventBasicType.Components components){
		if(components.getEmail() != null){
			new XCheckbox(componentEmail).checkON();
		}
		return PageLoader.load(this);
	}
	
	public EventComponents kiosk(EventBasicType.Components components){
		if(components.getKiosk() != null){
			new XCheckbox(componentKiosk).checkON();
		}
		return PageLoader.load(this);
	}
	
	public EventComponents mobile(EventBasicType.Components components){
		if(components.getMobile() != null){
			new XCheckbox(componentMobile).checkON();
		}
		return PageLoader.load(this);
	}
	
	public EventComponents registrationForm(EventBasicType.Components components){
		if(components.getRegistrationForm() != null){
			new XCheckbox(componentRegistrationForm).checkON();
		}
		return PageLoader.load(this);
	}
	
	public EventComponents reports(EventBasicType.Components components){
		if(components.getReports() != null){
			new XCheckbox(componentReports).checkON();
		}
		return PageLoader.load(this);
	}
	
	public EventComponents socialMedia(EventBasicType.Components components){
		if(components.getSocialMedia() != null){
			new XCheckbox(componentSocialMedia).checkON();
		}
		return PageLoader.load(this);
	}
	
	public EventComponents sourcing(EventBasicType.Components components){
		if(components.getSourcing() != null){
			new XCheckbox(componentSourcing).checkON();
		}
		return PageLoader.load(this);
	}
	
	public EventComponents surveys(EventBasicType.Components components){
		if(components.getSurveys() != null){
			new XCheckbox(componentSurveys).checkON();
		}
		return PageLoader.load(this);
	}
	
	public EventComponents themeDesigner(EventBasicType.Components components){
		if(components.getThemeDesigner() != null){
			new XCheckbox(componentThemeDesigner).checkON();
		}
		return PageLoader.load(this);
	}
	
	public EventComponents website(EventBasicType.Components components){
		if(components.getWebsite() != null){
			new XCheckbox(componentWebsite).checkON();
		}
		return PageLoader.load(this);
	}
}
